﻿/*********************************************************************
 *
 *                             NOTICE
 *               COPYRIGHT (c) 2012 Panoscopix Software, Inc.
 *                UNPUBLISHED - ALL RIGHTS RESERVED
 * 
 *      This program is confidential, proprietary, and a trade
 *   secret of Panoscopix Software, Inc. The receipt or possession of
 *     this program does not convey any rights to reproduce or
 *      disclose its contents, or to manufacture, use, or sell
 *       anything that it may describe, in whole or in part, 
 *   without the specific written consent of Panoscopix Software, Inc.
 *
 * A Tree Builder interface used to make trees.
 * 
 *******************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FileSystem.Utility
{
    interface TreeBuilderHelper
    {
        /// <summary>
        /// Create a directory node with the supplied metadata and add it
        /// to the supplied parent.  Returns null if add failed.
        /// </summary>
        IFSDirectory createDirectoryInParent(IFSNode parent, INodeMetaDataVO metadata);

        /// <summary>
        /// Create the last node in the tree, which might be a directory, file, link, etc...
        /// Add the node to the supplied parent.  Returns null if add failed.
        /// </summary>
        IFSNode createLastNodeInParent(IFSNode parent, INodeMetaDataVO metadata);
    }
}
